<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>使用super访问父类方法</title>
</head>
<body>
    
</body>
<script>
    class Common{
        show(){
            console.log('Common-show')
        }
        sum(){
            return this.lessons.reduce((pre,item)=>pre+item.price,0)
            // 这里面的this指向的是用这个方法的对象 比如子类使用了这个方法 那么这个this指向的就是这个子类
        }
    }
    class lesson extends Common{
        constructor(value){
            super()  //super后面啥也不加代码继承构造函数的方法
            this.lessons = value
        }
        info(){
            return {
                totalprice:super.sum(),  //要调用父类的哪个方法 就使用super.父类方法名()  不加父类方法名默认是调用父类的构造函数
                data:this.lessons
            }
        }
    }
    let lessons = [
        {name:'Vue.js',price:121},
        {name:'Node.js',price:101},
        {name:'mysql',price:156}
    ]
    let hd = new lesson(lessons)
    console.log(hd)
    console.log(hd.info())  //totalprice: 378, data: Array(3)}
</script>
</html>